package com.jams.goodox.utils;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;

/**
 * Created by jams on 2016/8/6.
 * ***
 * Tel: ***
 */

public class ImageUtils {
    public static String getSmallUrl(String url) {
        if (url == null || url.equals("")) {
            return "";
        }
        int Suffix = url.length() - url.lastIndexOf(".");
        String newUrl = url.substring(0, url.length() - Suffix) + "_small" + url.substring(url.length() - Suffix, url.length());
        return newUrl;
    }

    public static Bitmap getImage(String srcPath) {
        BitmapFactory.Options newOpts = new BitmapFactory.Options();
        //开始读入图片，此时把options.inJustDecodeBounds 设回true了
        newOpts.inJustDecodeBounds = true;
        Bitmap bitmap = BitmapFactory.decodeFile(srcPath, newOpts);//此时返回bm为空

        newOpts.inJustDecodeBounds = false;
        int w = newOpts.outWidth;
        int h = newOpts.outHeight;
        //现在主流手机比较多是800*480分辨率，所以高和宽我们设置为
        float hh = 800f;//这里设置高度为800f
        float ww = 480f;//这里设置宽度为480f
        //缩放比。由于是固定比例缩放，只用高或者宽其中一个数据进行计算即可
        int be = 1;//be=1表示不缩放
        if (w > h && w > ww) {//如果宽度大的话根据宽度固定大小缩放
            be = (int) (newOpts.outWidth / ww);
        } else if (w < h && h > hh) {//如果高度高的话根据宽度固定大小缩放
            be = (int) (newOpts.outHeight / hh);
        }
        if (be <= 0)
            be = 1;
        newOpts.inSampleSize = be;//设置缩放比例
        //重新读入图片，注意此时已经把options.inJustDecodeBounds 设回false了
        bitmap = BitmapFactory.decodeFile(srcPath, newOpts);
        int angle = Utility.readPictureDegree(srcPath);

        if (angle != 0) {
            Matrix m = new Matrix();
            int width1 = bitmap.getWidth();
            int height1 = bitmap.getHeight();
            m.setRotate(angle); // 旋转angle度

            Bitmap tempBmp = bitmap;
            bitmap = Bitmap.createBitmap(bitmap, 0, 0, width1, height1, m, true);
            tempBmp.recycle();
        }
        return bitmap;//压缩好比例大小后再进行质量压缩
    }
}
